package com.ym.medical.domain.param;

import com.ym.common.annotations.CustomConstraint;
import com.ym.common.constant.BeanCovert;
import com.ym.medical.domain.entity.CounsellingRoomEntity;
import com.ym.medical.enums.OrderFlowRecordTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * ComputerName:STUPID1T
 * Author:625
 * Date: 2019-04-25
 * Time: 09:30:34
 * Comment:查询扩展工具类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CounsellingRoomParam extends BeanCovert<CounsellingRoomEntity> {

	/**
	 * 订单主键
	 */
	@ApiModelProperty("订单主键")
	private Long id;


	/**
	 * 问诊订单主键
	 */
	@ApiModelProperty("问诊订单主键")
	private Long ioId;

	/**
	 * 工作室人员主键
	 */
	@ApiModelProperty("工作室人员主键")
	private Long dsId;

	/**
	 * 订单流转记录主键
	 */
	@ApiModelProperty("订单流转记录主键")
	private Long orderFlowRecordId;

	/**
	 * 问诊人云信账号
	 */
	@ApiModelProperty("问诊人云信账号")
	private String inquiryAccid;

	/**
	 * 答复人云信账号
	 */
	@ApiModelProperty("答复人云信账号")
	private String replyAccid;

	/**
	 * 咨询室id
	 */
	@ApiModelProperty("咨询室id")
	private String roomId;

	/**
	 * 咨询室类型(专科、全科)
	 */
	@ApiModelProperty("咨询室类型(专科、全科)")
	private String courType;

	/**
	 * 咨询状态(待答复、答复中、已关闭)
	 */
	@ApiModelProperty("咨询状态(待答复、答复中、已关闭)")
	private String courState;

	/**
	 * 咨询开始时间
	 */
	@ApiModelProperty("咨询开始时间")
	private Date courTimeStart;

	/**
	 * 咨询结束时间
	 */
	@ApiModelProperty("咨询结束时间")
	private Date courTimeEnd;

	/**
	 * 咨询室关联关系(全科咨询后转至专科咨询室)
	 */
	@ApiModelProperty("咨询室关联关系(全科咨询后转至专科咨询室)")
	private Long relCourId;

	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	private Date createTime;

	/**
	 * 用户ID
	 */
	@ApiModelProperty("用户ID")
	private Long userId;

	/**
	 * 患者ID
	 */
	@ApiModelProperty("患者ID")
	private Long patientId;

	/**
	 * 本人关系
	 */
	@ApiModelProperty("与本人关系")
	private String relation;

	/**
	 * 工作室医生ID
	 */
	@ApiModelProperty("工作室医生ID")
	private Long doctorId;

	/**
	 * 聊天室状态.多个
	 */
	@ApiModelProperty("聊天室状态.多个")
	private String courStates;

	/**
	 * 订单状态,多个
	 */
	@ApiModelProperty("订单状态,多个")
	private String ioStates;

	/**
	 * 匹配订单流转状态,不等于
	 */
	@ApiModelProperty("匹配订单流转状态,不等于")
	private String flowStatus;

	/**
	 * 抢单人医生ID
	 */
	@ApiModelProperty("抢单人医生ID")
	private String grapDoctorId;

	/**
	 * 问诊类型 （01-当前问诊 02-历史问诊）
	 */
	@ApiModelProperty("问诊类型 （01-当前问诊 02-历史问诊）")
	private String type;

	/**
	 * 订单类型，专科，全科
	 */
	@CustomConstraint(OrderFlowRecordTypeEnum.class)
	@ApiModelProperty("问诊类型 （01-专科 02-全科）")
	private String theFlowType;

}
